The Shadows Rollout

PC volumetric rendering allows you to set your effects to Cast Shadows, exhibit Self-Shadowing, or Receive Shadows from other objects in the scene, and this capacity allows you to dramatically increase the realism of your scene. In the Shadows rollout [Figure 22] you can elect to have your effect exhibit any or all of these capacities, and modify the nature of the shadows.

Be forewarned though: shadow casting of any sort increases the complexity of the effect to varying degrees, and that translates into added rendering time (particularly self-shadowing). Fortunately, parameters can be adjusted for the Shadow settings that alleviate some, if not most, of this speed penalty. You can choose between Shadow Maps and Raytraced shadows, set the relative shadow Transparency, adjust the extent to which the volume is analyzed in order to produce the shadows and elect to exclude selected lights from the equation. If you wish, you can select the Shadow Color Filter so that the shadow picks up its coloration and intensity from the effect.  Familiarity with these variables can pay-off in significant time dividends, as well as increase the effectiveness of your scenes.

At this point, PyroCluster is unable to automatically pick up the Ambient light color value from your scene from trueSpace, and it must be manually set via the color-picker accessed from this rollout.

 

The Ever-So-Important PyroCluster Global Shader Settings

The Global Shaders panel [Figure 23] accesses the Render Dialog controls for the function that is at once the most theoretically complex of PC’s functions and the most important for getting satisfactory results accomplished in the minimum amount of time.

Once the PyroCluster Global Shader is loaded (if it’s not already present in the active window), double-clicking on it opens up its specific rollout [Figure 24].

We could get hip deep in the techno-babble here, and I suppose a complete understanding of what’s going on with PC’s Global Shader Render Dialog would require every last inch of that depth. These settings govern PC’s Volume Tracing Engine, determining via the Step-Size setting (the left column of settings) how accurately the space in which the PC volumetric effect exists is "sliced" during rendering of the scene, and via the Ray-Trans limit (the right column of settings), the transparency of the volume. But here we’ll reduce it, admittedly very simplistically, to that perennial live or die equation of quality to rendering speed.

The PC Volume Tracer Dialog offers three pre-sets (Crispy, Crispy-Gas and Hazy), as well as the controls for User-determined settings, which are grayed-out until that button is selected. These presets offer a range of step-size and ray-trans settings which translate, from left to right, into higher to lower rendering times. Lower step size values increase the degree of "slicing" and consequently, increase rendering time. If you increase the transparency cut-off value via the ray-trans limit setting, you decrease render time. When ray-trans limits are set in the higher ranges, the Ray-Trans Correction option compensates for some of the increased, and perhaps unwanted, transparency that will be evident in the volumetric effect itself upon rendering.

Okay, it is inevitable: something has to be said here about the demands working with PC put on a user’s system. PC is a powerful, grown-up tool, and to achieve the most sophisticated results it is capable of, it must be fed. It’s almost a given that you can’t expect any of today’s sophisticated 3d software to perform its greatest feats efficiently on anything less than a solid, mid-range system. PC is multithreaded, and will take full advantage of a dual processor system under NT, Windows 2000, or Windows XP, and the more resources that are available to it, the more efficiently it will perform. Though my own hardware has been considerably upgraded since this article was written almost two years ago, at the time I was working with PC quite happily on what was then a mid-range system: a PII450 with 256mb of ram. However,  I got considerably happier when I realized what a significant effect the Global Shader Render Dialog settings could have on what I was doing, and started putting these variables into use. And today, even with dual-processor systems more common, with processors running at clock-speeds unimaginable two years ago, and a gigabyte of RAM cheaper than 16mb were a few years ago, paying close attention to the settings in the Global Shader Render Dialog continues to pay dividends in terms of enhanced workflow and productivity.

Take a look back at Figure 1, the display of the array of preset and slightly modified preset effects. Some of those modifications were made intentionally to result in a very render-time costly scene: all sorts of selective intense shadow and illumination options were incorporated for a couple of the effects. That version of the scene was rendered with the Crispy setting. Now examine the two renderings of the same scene below, the first rendered with the Crispy-Hazy setting, the second with the Hazy setting: [Figure 25] [Figure 26]

Allowing for any loss in image quality in reproduction here, the differences in quality of the effects are subtle, but most obvious in the second, third and fifth effects and the shadow cast into the foreground by the sixth effect. Now, how did these different settings affect rendering time on my then less than high-end system (at 1024x768, with adaptive anti-aliasing)? The rendering with the Crispy setting took just short of 39 hours, a render-time that would be unacceptable under any circumstances! Now, the much better news: the rendering with the Crispy-Hazy setting took 4.5 hours, and that with the Hazy setting 1.75 hours. 

While two years later, these times would be very significantly reduced on current top end, or even midrange hardware, the ratios are nonetheless meaningful.  However, it's not an experiment I've chosen to replicate for the sake of this update. Do bear in mind that it is highly unlikely, in normal usage, you'll be setting up a PC scene that will begin to approach anything like this intentionally demanding test setup, and the rendering of an effectively setup PC scene on decent hardware is now usually done in a few minutes rather than a few hours.

Obviously then, the PC Global Shader Render Dialog settings are an extremely important factor in the use of PyroCluster, and the ability to determine via test renderings the most efficient setting (whether one of the presets or a custom user setting) for a given piece of work allows great flexibility. Surprisingly though, it is also a factor that might very well be overlooked by users just getting started with PyroCluster. Still, like so many of PyroCluster’s features, the final effect of the these settings on a particular scene is intimately interrelated to all of the other variables of that scene, including the scene’s overall volume and the character and volume of the individual PC effects in the scene. There are no easy answers or rules on this one, other than to try the different settings to find which preset or user setting provides the best balance between quality and speed for your purposes.

This rollout also gives access to the settings for Scene-Intersection Acceleration, which modify the action of the Intersection function toggled in the Globals panel. PC’s documentation cautions against altering the default settings of these controls, as the developers have found them to be the most effective settings for the majority of instances.

 

Summing Up 

In this brief overview, it has been possible to only touch on PyroCluster’s main features, attempt to answer some general questions likely to occur to prospective users, and point out a hint or two to new users that might help them get off the ground more quickly and efficiently. PC brings a new range of effects and as yet unexplored possibilities to trueSpace users, and like any powerful new tool, it will take some time before you've grown into an adequate command of its potential. But that potential is wide and deep, and the results well worth the effort.

 

PyroCluster is a product of, and distributed worldwide (except for the U.S.) by:

Cebas Computer
Lilienthalstr. 19
D-69214 Eppelheim
Germany
Phone: 49 6221-760038
Fax: 49 6221-760039
info@cebas.com
http://www.cebas.com/

 

Back to Page One